{- |

Module      :  Examples.TermBase
Copyright   :  (c) The University of Kansas 2011
License     :  BSD3

Maintainer  :  nicolas.frisby@gmail.com
Stability   :  experimental
Portability :  see LANGUAGE pragmas (... GHC)

-}
module Examples.TermBase where

infixr 1 `TArrow`
data Type = TBool | TInt | TArrow Type Type
  deriving Show

data Term = Lam Type Term
          | Var Int
          | App Term Term
          | Let [Decl] Term
  deriving Show

data Decl = Decl Type Term
  deriving Show
